x11: Fix error traps in the dnd code
authorMatthias Clasen <mclasen@redhat.com>
Fri, 17 Nov 2017 04:56:11 +0000 (23:56 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 17 Nov 2017 04:56:11 +0000 (23:56 -0500)
The code for grabbing keys was using a generic
error trap call, and more concerning, it was forgetting
to pop the trap.

gdk/x11/gdkdnd-x11.c

index 222432025adadb8db6ce628e5ccbcd0657763dc6..767fd1cdec7c9c5c24b63162bb9c0a81df9eec86 100644 (file)
@@ -2690,7 +2690,7 @@ drag_context_grab (GdkDragContext *context)
 
   g_set_object (&x11_context->grab_seat, seat);
 
-  gdk_error_trap_push ();
+  gdk_x11_display_error_trap_push (context->display);
 
   for (i = 0; i < G_N_ELEMENTS (grab_keys); ++i)
     {
@@ -2742,6 +2742,8 @@ drag_context_grab (GdkDragContext *context)
         }
     }
 
+  gdk_x11_display_error_trap_pop_ignored (context->display);
+
   return TRUE;
 }